# Ходовой протокол - gRPC
# https://github.com/RussianInvestments/investAPI - код
# https://russianinvestments.github.io/investAPI/ - документация

# https://github.com/RussianInvestments/invest-python?tab=readme-ov-file - python sdk
# https://russianinvestments.github.io/invest-python/ - python sdk документация

# https://russianinvestments.github.io/invest-python/robots/ - готовые боты на python

from tinkoff.invest import Client
from tinkoff.invest.schemas import InstrumentExchangeType
import configparser
from pprint import pprint

# Путь к файлу secrets.ini
INI_FILE = 'secrets.ini'

# Чтение файла secrets.ini
config = configparser.ConfigParser()
config.read(INI_FILE)

# получить токен - https://www.tinkoff.ru/invest/settings/api/
TOKEN = config['TINKOFF']['TOKEN']

# all services - tinkoff/invest/services.py
with Client(TOKEN) as client:
    print(client.users.get_accounts())

# all services - tinkoff/invest/services.py
with Client(TOKEN) as client:
    '''
    На фондовом рынке РФ выделяют 10 секторов:
    - Нефтегазовый сектор.
    - Энергетический сектор.
    - Финансовый сектор.
    - Металлургический сектор.
    - Химический сектор.
    - Золотодобывающий сектор.
    - Строительный сектор.
    - Сектор телекоммуникаций.
    - Транспортный сектор.
    - Потребительский сектор.
    '''
    all_shares_query = client.instruments.shares(instrument_status=1, instrument_exchange=0)
    pprint([share for share in all_shares_query.instruments if share.country_of_risk_name == "Российская Федерация"])
    print(len(all_shares_query.instruments))

# all services - tinkoff/invest/services.py
# with Client(TOKEN) as client:
#     print(client.instruments.get_instrument_by(id_type=3, id="RU0009029557"))

# all services - tinkoff/invest/services.py
# with Client(TOKEN) as client:
#     print(client.instruments.trading_schedules())

